1. Field of the Invention
The present invention generally relates to electronic circuits, and more specifically, to a memory circuit architecture including a magnetic random access memory (MRAM) array and a smart memory interface block. The smart memory interface block is uniquely configured for accessing the MRAM array using commands intended for the MRAM array, as well as commands intended for a different type of memory.
2. Description of the Related Art
The following descriptions and examples are not admitted to be prior art by virtue of their inclusion within this section.
Numerous types of semiconductor memory are currently available in the marketplace today. Though an array of storage elements is commonly included within each type of memory, the storage elements of different memory types often differ in both architecture and function. For example, a memory storage element can be volatile or non-volatile. Types of volatile memory include memory that must be periodically refreshed (e.g., DRAM) or memory that will lose its programmed state if power is removed from the memory circuit (e.g., SRAM). Unlike volatile memory, however, non-volatile memory is able to maintain its stored contents when power is removed from the memory circuit. Types of non-volatile memory include read-only memory (such as ROM, PROM, EPROM and EEPROM), magnetic random access memory (MRAM), battery-backed SRAM (BBSRAM) and Flash memory.
In some cases, a system designer may include more than one type of memory device within a given product or system to accommodate different memory functions. In other cases, the system designer may use different types of memory in different products or systems. For example, a system designer may include a static random access memory (SRAM) device within a system to provide efficient, low capacity storage caching. In addition, the system designer may include a Flash memory device within the same system, or within a completely different system, for non-volatile, high capacity storage caching. Therefore, system designers and/or manufactures must often maintain an inventory of each type of memory device they tend to use. This is both costly and inconvenient, especially since the design, manufacture and/or overhead costs associated with each type of memory device could be on the order of $1 M, or more.
In some cases, the costs associated with upgrading a circuit or system may also be prohibitively expensive for the manufacturer. For example, system board layouts are typically designed with a particular memory product(s) in mind. After selecting one or more types of memory devices to be used in a system, the system designer selects an appropriate memory interface circuit and designs a board layout to accommodate the selected type(s) of memory. Later, if the designer wants to change the type of memory used, he/she must redesign the board or change the memory interface on the board to accommodate the new type of memory. This is a major inconvenience for the system designer and may increase the time-to-market for the system, as well as the costs associated with the overall design/manufacturing process. For example, as mask costs continue to grow, the cost of even a single mask change becomes significant, thereby facilitating the desire to reduce or altogether avoid mask changes.
For at least these reasons, it would be desirable to provide a non-volatile memory device that can be used as a drop-in replacement for one or more different types of memory devices. Such a memory device would reduce the costs associated with designing, manufacturing and maintaining an inventory of different memory products, as well as the costs incurred when upgrading a system to include a new memory device. The improved memory device could then be incorporated into existing system designs without requiring hardware/software changes to be made to the system layout or operation.